68 research outputs found
Understanding Cost Dynamics of Serverless Computing: An Empirical Study
The advent of serverless computing has revolutionized the landscape of cloud
computing, offering a new paradigm that enables developers to focus solely on
their applications rather than managing and provisioning the underlying
infrastructure. These applications involve integrating individual functions
into a cohesive workflow for complex tasks. The pay-per-use model and
nontransparent reporting by cloud providers make it difficult to estimate
serverless costs, imped-ing informed business decisions. Existing research
studies on serverless compu-ting focus on performance optimization and state
management, both from empir-ical and technical perspectives. However, the
state-of-the-art shows a lack of em-pirical investigations on the understanding
of the cost dynamics of serverless computing over traditional cloud computing.
Therefore, this study delves into how organizations anticipate the costs of
adopting serverless. It also aims to com-prehend workload suitability and
identify best practices for cost optimization of serverless applications. To
this end, we conducted a qualitative (interviews) study with 15 experts from 8
companies involved in the migration and development of serverless systems. The
findings revealed that, while serverless computing is highly suitable for
unpredictable workloads, it may not be cost-effective for cer-tain high-scale
applications. The study also introduces a taxonomy for comparing the cost of
adopting serverless versus traditional cloud
The Journey to Serverless Migration: An Empirical Analysis of Intentions, Strategies, and Challenges
Serverless is an emerging cloud computing paradigm that facilitates
developers to focus solely on the application logic rather than provisioning
and managing the underlying infrastructure. The inherent characteristics such
as scalability, flexibility, and cost efficiency of serverless computing,
attracted many companies to migrate their legacy applications toward this
paradigm. However, the stateless nature of serverless requires careful
migration planning, consideration of its subsequent implications, and potential
challenges. To this end, this study investigates the intentions, strategies,
and technical and organizational challenges while migrating to a serverless
architecture. We investigated the migration processes of 11 systems across
diverse domains by conducting 15 in-depth interviews with professionals from 11
organizations. we also presented a detailed discussion of each migration case.
Our findings reveal that large enterprises primarily migrate to enhance
scalability and operational efficiency, while smaller organizations intend to
reduce the cost. Furthermore, organizations use a domain-driven design approach
to identify the use case and gradually migrate to serverless using a strangler
pattern. However, migration encounters technical challenges i.e., testing
event-driven architecture, integrating with the legacy system, lack of
standardization, and organizational challenges i.e., mindset change and hiring
skilled serverless developers as a prominent. The findings of this study
provide a comprehensive understanding that can guide future implementations and
advancements in the context of serverless migration
Ethical Aspects of ChatGPT in Software Engineering Research
ChatGPT can improve Software Engineering (SE) research practices by offering
efficient, accessible information analysis and synthesis based on natural
language interactions. However, ChatGPT could bring ethical challenges,
encompassing plagiarism, privacy, data security, and the risk of generating
biased or potentially detrimental data. This research aims to fill the given
gap by elaborating on the key elements: motivators, demotivators, and ethical
principles of using ChatGPT in SE research. To achieve this objective, we
conducted a literature survey, identified the mentioned elements, and presented
their relationships by developing a taxonomy. Further, the identified
literature-based elements (motivators, demotivators, and ethical principles)
were empirically evaluated by conducting a comprehensive questionnaire-based
survey involving SE researchers. Additionally, we employed Interpretive
Structure Modeling (ISM) approach to analyze the relationships between the
ethical principles of using ChatGPT in SE research and develop a level based
decision model. We further conducted a Cross-Impact Matrix Multiplication
Applied to Classification (MICMAC) analysis to create a cluster-based decision
model. These models aim to help SE researchers devise effective strategies for
ethically integrating ChatGPT into SE research by following the identified
principles through adopting the motivators and addressing the demotivators. The
findings of this study will establish a benchmark for incorporating ChatGPT
services in SE research with an emphasis on ethical considerations
A Vision of DevOps Requirements Change Management Standardization
DevOps (development and operations) aims to shorten the software development
process and provide continuous delivery with high software quality. To get the
potential gains of DevOps, the software development industry considering global
software development (GSD) environment to hire skilled human resources and
round-the-clock working hours. However, due to the lack of frequent
communication and coordination in GSD, the planning and managing of the
requirements change process becomes a challenging task. As in DevOps,
requirements are not only shaped by development feedback but also by the
operations team. This means requirements affect development, development
affects operations and operations affect requirements. However, DevOps in GSD
still faces many challenges in terms of requirement management. The purpose of
this research project is to develop a DevOps requirement change management and
implementation maturity model (DevOps-RCMIMM) that could assist the GSD
organizations in modifying and improving their requirement management process
in the DevOps process. The development of DevOps-RCMIMM will be based on the
existing DevOps and RCM literature, industrial empirical study, and
understanding of factors that could impact the implementation of the DevOps
requirement change management process in the domain of GSD. This vision study
presents the initial results of a systematic literature review that will
contribute to the development of maturity levels of the proposed DevOps-RCMIMM
Quantum Software Engineering: A New Genre of Computing
Quantum computing (QC) is no longer only a scientific interest but is rapidly
becoming an industrially available technology that can potentially tackle the
limitations of classical computing. Over the last few years, major technology
giants have invested in developing hardware and programming frameworks to
develop quantum-specific applications. QC hardware technologies are gaining
momentum, however, operationalizing the QC technologies trigger the need for
software-intensive methodologies, techniques, processes, tools, roles, and
responsibilities for developing industrial-centric quantum software
applications. This paper presents the vision of the quantum software
engineering (QSE) life cycle consisting of quantum requirements engineering,
quantum software design, quantum software implementation, quantum software
testing, and quantum software maintenance. This paper particularly calls for
joint contributions of software engineering research and industrial community
to present real-world solutions to support the entire quantum software
development activities. The proposed vision facilitates the researchers and
practitioners to propose new processes, reference architectures, novel tools,
and practices to leverage quantum computers and develop emerging and next
generations of quantum software
6G secure quantum communication: a success probability prediction model
© 2024 The Author(s). This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY), https://creativecommons.org/licenses/by/4.0/The emergence of 6G networks initiates significant transformations in the communication technology landscape. Yet, the melding of quantum computing (QC) with 6G networks although promising an array of benefits, particularly in secure communication. Adapting QC into 6G requires a rigorous focus on numerous critical variables. This study aims to identify key variables in secure quantum communication (SQC) in 6G and develop a model for predicting the success probability of 6G-SQC projects. We identified key 6G-SQC variables from existing literature to achieve these objectives and collected training data by conducting a questionnaire survey. We then analyzed these variables using an optimization model, i.e., Genetic Algorithm (GA), with two different prediction methods the Naïve Bayes Classifier (NBC) and Logistic Regression (LR). The results of success probability prediction models indicate that as the 6G-SQC matures, project success probability significantly increases, and costs are notably reduced. Furthermore, the best fitness rankings for each 6G-SQC project variable determined using NBC and LR indicated a strong positive correlation (rs = 0.895). The t-test results (t = 0.752, p = 0.502 > 0.05) show no significant differences between the rankings calculated using both prediction models (NBC and LR). The results reveal that the developed success probability prediction model, based on 15 identified 6G-SQC project variables, highlights the areas where practitioners need to focus more to facilitate the cost-effective and successful implementation of 6G-SQC projects.Peer reviewe
A systematic decision-making framework for tackling quantum software engineering challenges
Quantum computing systems harness the power of quantum mechanics to execute computationally demanding tasks more effectively than their classical counterparts. This has led to the emergence of Quantum Software Engineering (QSE), which focuses on unlocking the full potential of quantum computing systems. As QSE gains prominence, it seeks to address the evolving challenges of quantum software development by offering comprehensive concepts, principles, and guidelines. This paper aims to identify, prioritize, and develop a systematic decision-making framework of the challenging factors associated with QSE process execution. We conducted a literature survey to identify the challenging factors associated with QSE process and mapped them into 7 core categories. Additionally, we used a questionnaire survey to collect insights from practitioners regarding these challenges. To examine the relationships between core categories of challenging factors, we applied Interpretive Structure Modeling (ISM). Lastly, we applied fuzzy TOPSIS to rank the identified challenging factors concerning to their criticality for QSE process. We have identified 22 challenging factors of QSE process and mapped them to 7 core categories. The ISM results indicate that the ‘resources’ category has the most decisive influence on the other six core categories of the identified challenging factors. Moreover, the fuzzy TOPSIS indicates that ‘complex programming’, ‘limited software libraries’, ‘maintenance complexity’, ‘lack of training and workshops’, and ‘data encoding issues’ are the highest priority challenging factor for QSE process execution. Organizations using QSE could consider the identified challenging factors and their prioritization to improve their QSE process
Insights into Software Development Approaches: Mining Q&A Repositories
Context: Software practitioners adopt approaches like DevOps, Scrum, and
Waterfall for high-quality software development. However, limited research has
been conducted on exploring software development approaches concerning
practitioners discussions on Q&A forums. Objective: We conducted an empirical
study to analyze developers discussions on Q&A forums to gain insights into
software development approaches in practice. Method: We analyzed 13,903
developers posts across Stack Overflow (SO), Software Engineering Stack
Exchange (SESE), and Project Management Stack Exchange (PMSE) forums. A mixed
method approach, consisting of the topic modeling technique (i.e., Latent
Dirichlet Allocation (LDA)) and qualitative analysis, is used to identify
frequently discussed topics of software development approaches, trends
(popular, difficult topics), and the challenges faced by practitioners in
adopting different software development approaches. Findings: We identified 15
frequently mentioned software development approaches topics on Q&A sites and
observed an increase in trends for the top-3 most difficult topics requiring
more attention. Finally, our study identified 49 challenges faced by
practitioners while deploying various software development approaches, and we
subsequently created a thematic map to represent these findings. Conclusions:
The study findings serve as a useful resource for practitioners to overcome
challenges, stay informed about current trends, and ultimately improve the
quality of software products they develop
Insights into software development approaches: mining Q &A repositories
© 2023 The Author(s). This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY), https://creativecommons.org/licenses/by/4.0/Context: Software practitioners adopt approaches like DevOps, Scrum, and Waterfall for high-quality software development. However, limited research has been conducted on exploring software development approaches concerning practitioners’ discussions on Q &A forums. Objective: We conducted an empirical study to analyze developers’ discussions on Q &A forums to gain insights into software development approaches in practice. Method: We analyzed 13,903 developers’ posts across Stack Overflow (SO), Software Engineering Stack Exchange (SESE), and Project Management Stack Exchange (PMSE) forums. A mixed method approach, consisting of the topic modeling technique (i.e., Latent Dirichlet Allocation (LDA)) and qualitative analysis, is used to identify frequently discussed topics of software development approaches, trends (popular, difficult topics), and the challenges faced by practitioners in adopting different software development approaches. Findings: We identified 15 frequently mentioned software development approaches topics on Q &A sites and observed an increase in trends for the top-3 most difficult topics requiring more attention. Finally, our study identified 49 challenges faced by practitioners while deploying various software development approaches, and we subsequently created a thematic map to represent these findings. Conclusions: The study findings serve as a useful resource for practitioners to overcome challenges, stay informed about current trends, and ultimately improve the quality of software products they develop.Peer reviewe
- …